#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <stdbool.h>
typedef int STDateType;
typedef struct Stack
{
    STDateType* arr;
    int capacity;
    int top;
}Stack;
//栈的初始化
void StackInit(Stack* s);
//入栈
void StackPush(Stack* s,STDateType x);
//出栈
void StackPop(Stack* s);
//取栈顶元素
STDateType StackTop(Stack* s);
//判断栈是否为空
bool StackEmpty(Stack* s);
//栈的有效元素个数
int StackSize(Stack* s);
//栈的销毁
void StackDestroy(Stack* s);